home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 45
/
Aminet 45 (2001)(GTI - Schatztruhe)[!][Oct 2001].iso
/
Aminet
/
gfx
/
x11
/
x3270_3_2_16.lha
/
amiga_src
/
toggles.c
< prev
next >
Wrap
C/C++ Source or Header
|
2008-10-18
|
3KB
|
116 lines
/*
* Modifications Copyright 1993, 1994, 1995, 1996, 1999, 2000 by Paul Mattes.
* Original X11 Port Copyright 1990 by Jeff Sparkes.
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted,
* provided that the above copyright notice appear in all copies and that
* both that copyright notice and this permission notice appear in
* supporting documentation.
*
* Copyright 1989 by Georgia Tech Research Corporation, Atlanta, GA 30332.
* All Rights Reserved. GTRC hereby grants public use of this software.
* Derivative works based on this software must incorporate this copyright
* notice.
*/
/*
* toggles.c
* This module handles toggles.
*/
#include "globals.h"
#include "appres.h"
#include "ansic.h"
#include "ctlrc.h"
#include "menubarc.h"
#include "screenc.h"
#include "trace_dsc.h"
#include "togglesc.h"
/*
* Generic toggle stuff
*/
void
do_toggle(int ix)
{
struct toggle *t = &appres.toggle[ix];
/*
* Change the value, call the internal update routine, and reset the
* menu label(s).
*/
toggle_toggle(t);
t->upcall(t, TT_TOGGLE);
#if defined(X3270_MENUS) /*[*/
menubar_retoggle(t);
#endif /*]*/
}
/*
* Called from system initialization code to handle initial toggle settings.
*/
void
initialize_toggles(void)
{
#if defined(X3270_DISPLAY) || defined(C3270) /*[*/
appres.toggle[MONOCASE].upcall = toggle_monocase;
#endif /*]*/
#if defined(X3270_DISPLAY) /*[*/
appres.toggle[ALT_CURSOR].upcall = toggle_altCursor;
appres.toggle[CURSOR_BLINK].upcall = toggle_cursorBlink;
appres.toggle[SHOW_TIMING].upcall = toggle_showTiming;
appres.toggle[CURSOR_POS].upcall = toggle_cursorPos;
appres.toggle[MARGINED_PASTE].upcall = toggle_nop;
appres.toggle[RECTANGLE_SELECT].upcall = toggle_nop;
appres.toggle[SCROLL_BAR].upcall = toggle_scrollBar;
#endif /*]*/
#if defined(X3270_TRACE) /*[*/
appres.toggle[DS_TRACE].upcall = toggle_dsTrace;
appres.toggle[SCREEN_TRACE].upcall = toggle_screenTrace;
appres.toggle[EVENT_TRACE].upcall = toggle_eventTrace;
#endif /*]*/
#if defined(X3270_ANSI) /*[*/
appres.toggle[LINE_WRAP].upcall = toggle_lineWrap;
#endif /*]*/
appres.toggle[BLANK_FILL].upcall = toggle_nop;
#if defined(X3270_TRACE) /*[*/
if (toggled(DS_TRACE))
appres.toggle[DS_TRACE].upcall(&appres.toggle[DS_TRACE],
TT_INITIAL);
if (toggled(EVENT_TRACE))
appres.toggle[EVENT_TRACE].upcall(&appres.toggle[EVENT_TRACE],
TT_INITIAL);
if (toggled(SCREEN_TRACE))
appres.toggle[SCREEN_TRACE].upcall(&appres.toggle[SCREEN_TRACE],
TT_INITIAL);
#endif /*]*/
}
/*
* Called from system exit code to handle toggles.
*/
void
shutdown_toggles(void)
{
#if defined(X3270_TRACE) /*[*/
/* Clean up the data stream trace monitor window. */
if (toggled(DS_TRACE)) {
appres.toggle[DS_TRACE].value = False;
toggle_dsTrace(&appres.toggle[DS_TRACE], TT_FINAL);
}
if (toggled(EVENT_TRACE)) {
appres.toggle[EVENT_TRACE].value = False;
toggle_dsTrace(&appres.toggle[EVENT_TRACE], TT_FINAL);
}
/* Clean up the screen trace file. */
if (toggled(SCREEN_TRACE)) {
appres.toggle[SCREEN_TRACE].value = False;
toggle_screenTrace(&appres.toggle[SCREEN_TRACE], TT_FINAL);
}
#endif /*]*/
}